# -*- coding: utf-8 -*-
import pythoncom
import pyHook
import win32api
import win32con

def onMouseEvent(event):
	# 监听鼠标事件
	print "MessageName:", event.MessageName
	print "Message:", event.Message
	print "Time:", event.Time
	print "Window:", event.Window
	print "WindowName:", event.WindowName
	print "Position:", event.Position
	print "Wheel:", event.Wheel
	print "Injected:", event.Injected
	print "---"
 
	# 返回 True 以便将事件传给其它处理程序
	# 注意，这儿如果返回 False ，则鼠标事件将被全部拦截
	# 也就是说你的鼠标看起来会僵在那儿，似乎失去响应了
	return True
 
def onKeyboardEvent(event):
	# 监听键盘事件
	# if event.Ascii>=48 and event.Ascii<=122:
	print event.Key,

	if event.Ascii==49:
		win32api.keybd_event(50,0,0,0)  #2键位码是50
		win32api.keybd_event(50,0,win32con.KEYEVENTF_KEYUP,0) #释放按键
	# print event.Ascii,
 	
	# 同鼠标事件监听函数的返回值
	return True

if __name__ == '__main__':
	# 创建一个“钩子”管理对象
	hm = pyHook.HookManager()
 
	# 监听所有键盘事件
	hm.KeyDown = onKeyboardEvent
	# 设置键盘“钩子”
	hm.HookKeyboard()
 
	# 监听所有鼠标事件
	# hm.MouseAll = onMouseEvent
	# 设置鼠标“钩子”
	# hm.HookMouse()
 
	# 进入循环，如不手动关闭，程序将一直处于监听状态
	pythoncom.PumpMessages()